﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Infinity.Statements.Declare;

namespace Infinity.Statements.Program
{
	public enum OperatorType : int
	{
		Prefix,
		Infix,
		Postfix,
		Iterative
	}

	public enum OperatorDirection : int
	{
		Left,
		Right
	}

	public interface ICustomOperatorStatement : IProgramStatement
	{
		double Precedence { get; set; }

		OperatorType OperatorType { get; set; }
		OperatorDirection OperatorDirection { get; set; }

		IList<IParameterDeclareStatement> Parameters { get; set; }

		Type ReturnType { get; set; }
	}
}